Skip to content

juli6464/custom_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Panel de cursos para Moodle (local_custom_api)

Plugin local de Moodle que ofrece una vista ejecutiva de los cursos del sitio: métricas claras en una sola pantalla, sin servicios web ni tokens. Pensado para demostraciones con clientes, equipos académicos o como base para evolutivos (filtros, exportaciones, informes).

Vista del panel: tabla con ID, nombres, visibilidad, inscritos, actividades y enlace al curso

Si tu Moodle está en la raíz del servidor web, la URL del panel suele ser:

http://localhost/local/custom_api/index.php

Si instalaste Moodle en una subcarpeta (por ejemplo moodle), la ruta sería:

http://localhost/moodle/local/custom_api/index.php

En ambos casos el patrón es: {URL_base_de_tu_Moodle}/local/custom_api/index.php.


Qué hace el plugin

  • Muestra un resumen de cursos (excluye el curso sitio).
  • Para cada curso lista: ID, nombre completo, nombre corto, visible, inscritos, actividades y un enlace Vista al curso.
  • Indica el total de cursos detectados.
  • Permite limitar cuántos cursos se muestran (selector “Mostrar primeros”).
  • Añade un enlace en la navegación del sitio (para usuarios con permiso), además de poder entrar directo por URL.

Casos de uso

  • Ideal para conectar Moodle con Make.com, Zapier u otras plataformas similares (n8n, IFTTT, etc.): el mismo tipo de desarrollo en Moodle (plugins locales, datos de curso estructurados y permisos claros) suele ser la base para exponer información vía webhooks, API REST de Moodle o jobs programados que esas herramientas consumen o disparan.
  • Operación y soporte: vista rápida de cursos, inscritos y actividades para coordinadores sin entrar curso por curso.
  • Demos y propuestas comerciales: muestra tangible de capacidad técnica en Moodle antes de cerrar un proyecto de integración o automatización.

Compatibilidad con Moodle

En version.php el plugin declara:

  • $plugin->requires = 2022041900 → compatible con Moodle 4.0 en adelante (rama 4.x y versiones posteriores que mantengan la misma API de plugins y navegación usada aquí).

Antes de instalar en producción, conviene probar en el mismo major de Moodle que uses en el cliente y revisar notificaciones de actualización tras subir de versión de Moodle.


Instalación rápida

  1. Copia la carpeta del plugin dentro de tu instalación: moodle/local/custom_api (el nombre de la carpeta debe ser exactamente custom_api).
  2. Inicia sesión como administrador.
  3. Ve a Administración del sitio → Notificaciones y completa la actualización del sitio.
  4. Opcional pero recomendable: Administración del sitio → Desarrollo → Purgar todas las cachés.

Configuración paso a paso

  1. Actualizar el plugin (pasos de instalación arriba) hasta que no queden pendientes en Notificaciones.
  2. Permisos: el acceso lo controla la capacidad local/custom_api:viewdashboard (definida en db/access.php).
    • Por defecto está permitida para los arquetipos Gestor del sitio, Profesor con permisos de edición y Profesor.
    • Si un usuario no entra, como administrador ve a Administración del sitio → Usuarios → Permisos → Definir roles, edita el rol que necesites y busca local/custom_api:viewdashboard para marcarla como Permitir (o revisa que no esté prohibida en un contexto superior).
  3. Probar la vista: inicia sesión con un usuario que tenga ese permiso y abre en el navegador la URL de tu sitio, por ejemplo http://localhost/local/custom_api/index.php.
  4. Navegación: con el mismo usuario, revisa el menú del sitio; debería aparecer el ítem con el nombre del plugin (según idioma: “Panel de cursos” / “Course Dashboard”) que apunta a la misma página.

Estructura del código

Archivo / carpeta Función
index.php Página principal del panel
lib.php Extiende la navegación para enlazar al panel
db/access.php Capacidades del plugin
version.php Versión y requisitos de Moodle
lang/es/ y lang/en/ Cadenas de idioma
styles.css Estilos del panel (tabla, contenedor, botón de acción)
img/course_api.png Captura de referencia para documentación o portafolio

Próximas ideas

  • Filtros por categoría, docente o fechas.
  • Exportación CSV o Excel.
  • Gráficos o bloques reutilizables en el tablero del sitio.

Cómo usar este repositorio (clonar, copiar, fork, pull request)

Este código es software libre dentro del ecosistema Moodle (GPL compatible con el núcleo de Moodle). Cualquier persona puede reutilizarlo y colaborar.

Autor

Julian Alzate — Desarrollo backend, frontend Moodle y proyectos web.

Sitio y perfil profesional: https://juli6464.github.io/

About

Moodle Local Plugin: Custom Course API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages